<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="org.springframework.web.context.WebApplicationContext" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<title>Spring Study Page</title>
</head>
<script>
/**
 * 다운로드 를 위한 fn 설정
 * url(주소), data(파라미터), method(post/get 방식 설정)  3개의 파라미터를 받음
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 파일 다운의 경우 ++++++
 * filename, filepath, filezip  3개의 항목을 data 객체에 담아서 받아야 함
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 엑셀 다운의 경우 ++++++
 * 엑셀다운의 경우 현재 url 위치를 기준으로 파일명이 작성된다. 또한, data의 값중 특별히 참조하는게 없기 때문에 빈값을 보내도 관계없다.
 */
jQuery.downloadFile = function(url, data, method){
    // url과 data를 입력받음
    if( url && data ){ 
        // data 는  string 또는 array/object 를 파라미터로 받는다.
        data = typeof data == 'string' ? data : jQuery.param(data);
        // 파라미터를 form의  input으로 만든다.
        var inputs = '';
        jQuery.each(data.split('&'), function(){ 
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
        });
        // request를 보낸다.
        jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>').appendTo('body').submit().remove();
    };
};

$(document).ready(function(){
	$("#getJson").click(function(){
		//location.href="getJson.do";
		
		var url = "getJson.do";
		$.ajax({
			  url : url
			, dataType : "json"
			, success : function(rtnData){
				console.log(rtnData);
				var rsTmp = rtnData.jsonList;

				var html ="";
				for(var i=0; i< rsTmp.length ; i++){
					html += rsTmp[i].id + " ::: " + rsTmp[i].name + "<br>";
				}
				$("#jsonRs").html(html);
			}
		});
	});
});

function download(){
	var url = 'excelViewer.xls';		// controller 확인
	var data = {
			"name"			: "박덕근",
		};
	$.downloadFile(url,data,'post' );
}
</script>
<body>
<button id="getJson">JSON으로 데이터 가져오기</button>
<button onclick="download()">엑셀 다운로드</button>
<div id="jsonRs"></div>
<p>스프링 다국어 메세지 확인 : <spring:message code="msg.intro.hi" /> / ${param.language}</p>
<c:forEach var="item" items="${list}">
	<p> ${item.email} || ${item.name} </p> 
</c:forEach>
</body>
</html>